const express = require('express');
const fs = require('fs');
const path = require('path');
const app = express();
const port = 3000;

// 设置静态文件目录
app.use(express.static(__dirname));

// 解析请求体
app.use(express.text());

// 获取 YAML 文件内容
app.get('/help.yaml', (req, res) => {
  const yamlPath = path.join(__dirname, 'help.yaml');
  fs.readFile(yamlPath, 'utf8', (err, data) => {
    if (err) {
      console.error('无法读取 YAML 文件:', err);
      res.status(500).send('无法读取 YAML 文件');
    } else {
      res.send(data);
    }
  });
});

// 保存 YAML 文件内容
app.post('/help.yaml', (req, res) => {
  const yamlPath = path.join(__dirname, 'help.yaml');
  fs.writeFile(yamlPath, req.body, 'utf8', (err) => {
    if (err) {
      console.error('无法保存 YAML 文件:', err);
      res.status(500).send('无法保存 YAML 文件');
    } else {
      res.send('保存成功');
    }
  });
});

// 获取 config.yaml 文件内容
app.get('/config.yaml', (req, res) => {
  const configPath = path.join(__dirname, 'config.yaml');
  fs.readFile(configPath, 'utf8', (err, data) => {
    if (err) {
      console.error('无法读取 config.yaml 文件:', err);
      res.status(500).send('无法读取 config.yaml 文件');
    } else {
      res.send(data);
    }
  });
});

// 保存 config.yaml 文件内容
app.post('/config.yaml', (req, res) => {
  const configPath = path.join(__dirname, 'config.yaml');
  fs.writeFile(configPath, req.body, 'utf8', (err) => {
    if (err) {
      console.error('无法保存 config.yaml 文件:', err);
      res.status(500).send('无法保存 config.yaml 文件');
    } else {
      res.send('保存成功');
    }
  });
});

// 获取图标列表（仅图片文件）
app.get('/icon-list', (req, res) => {
  const iconPath = path.join(__dirname, 'icon');
  fs.readdir(iconPath, (err, files) => {
    if (err) {
      console.error('无法读取图标目录:', err);
      res.status(500).send('无法读取图标目录');
    } else {
      // 过滤出图片文件
      const imageFiles = files.filter(file => {
        const ext = path.extname(file).toLowerCase();
        return ['.png', '.jpg', '.jpeg', '.gif'].includes(ext);
      });
      res.json(imageFiles);
    }
  });
});

app.listen(port, () => {
  console.log(`服务器正在运行在 http://localhost:${port}`);
});